<?php

class Reader_BookController extends Zend_Controller_Action
{

    public function indexAction()
    {        
        $page = $this->getRequest()->getParam('page', 1);

        $q = trim($this->getRequest()->getParam('q', ''));
        
        $categoryId =  $this->getRequest()->getParam('category_id', 0);
       
        if ($q || $categoryId)
        {
            $books = Model_Book::find(array(
                'q' => $q,
                'CategoryID' => $this->getRequest()->getParam('category_id', 0),
                'Status' => 1,
                'Page' => $page,
                'Limit' => 10
            ), $total);
        }
        else
        {
            $books = Model_Book::getAll(array(
                'Type'   => 1,
                'Status' => 1,
                'Page'   => $page,
                'Limit'  => 10
            ), $total);
        }
        
        $paginator = Core_Paginator::get($total, $page);            
        $categories = Model_Category::getAll();
        
        $this->view->assign('pagination', $paginator);
        $this->view->assign('q', $q);
        $this->view->assign('books', $books);
        $this->view->assign('categories', $categories);
        $this->view->assign('current_category', $this->getRequest()->getParam('category_id', 0));
    }
    
    public function borrowAction()
    {
        if ($this->getRequest()->isPost())
        {
            $response = array(
                'status' => 0,
                'message' => 'Unknown error...'
            );
            
            $userInfo = Core_Session::get('user');
            $params = $this->getRequest()->getPost();           
            $book = Model_Book::get(array('book_id' => $params['BookID']));
            
            if (!$userInfo['CardID'])
            {
                $response['message'] = 'Bạn chưa có thẻ thư viện, vui lòng liên hệ quản lý thư viện để đăng ký thẻ.';
            }
            else if (!intval($params['BookID']))
            {
                $response['message'] = 'Bạn chưa chọn sách để mượn.';
            }       
            else if ($book['InStock'] < 1)
            {
                $response['message'] = 'Sách đã được mượn hết.';
            }
            else
            {
                $params['CardID'] = $userInfo['CardID'];
                $params['Type'] = Model_Transaction::PENDING;
                $params['Comment'] = null;
                $params['Status'] = 1;
                
                $transactionId = Model_Transaction::create($params);
                
                if ($transactionId)
                {
                    $response['status'] = 1;
                    $response['message'] = 'Đã đặt mượn thành công. Bạn vui lòng đến thư viện nhận sách trong vòng 12 tiếng';
                }
            }
            
            $this->_helper->json($response);            
        }
        
        $this->_redirect('/reader/book/');
    }
}
